A network server, such as a Web server, typically includes one or more network applications that provide services to remote users by way of a request and response mechanism. The requests may include requests for web pages, files, or various data. They may also include requests to store data, process data, facilitate e-commerce, or provide various other services. A network server may provide many of the functions required to implement a Web site or network service.
A network application may go through numerous versions in its lifetime. Typically, one or more developers create an update version of an application and the application is tested. If the application passes testing, it may then be installed on a network server. Installing an application may be a complex process, due to the many components and types of components that may be involved. In addition to code files, installing an application may include installing certificates, creating or changing system registry entries, and configuring a database, as well as installing or changing other content.
In some situations, a problem with a network application may not be discovered until after it is installed and begins running “live.” This may be due to inadequate testing, interaction with other components or a different configuration in the network server, or for other reasons. In some situations, an administrator may not become aware of the problem until after a lengthy period of time. The administrator may then attempt to restore the application by using backup files, manually changing some components or data, or other actions. In some situations, the problem version may have caused changes that are difficult to determine.